[INFO] fetching crate refraction 0.1.2...
[INFO] fixing refraction-0.1.2 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate refraction 0.1.2 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate refraction 0.1.2
[INFO] finished tweaking crates.io crate refraction 0.1.2
[INFO] tweaked toml for crates.io crate refraction 0.1.2 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate refraction 0.1.2 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 2 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `refraction` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 96b526c3b15b72ed52cfa89be471bce014b5f9fc6cd2721da30050827e0aebb5
[INFO] running `Command { std: "docker" "start" "96b526c3b15b72ed52cfa89be471bce014b5f9fc6cd2721da30050827e0aebb5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "96b526c3b15b72ed52cfa89be471bce014b5f9fc6cd2721da30050827e0aebb5" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "96b526c3b15b72ed52cfa89be471bce014b5f9fc6cd2721da30050827e0aebb5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "96b526c3b15b72ed52cfa89be471bce014b5f9fc6cd2721da30050827e0aebb5" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `refraction` (manifest) generated 1 warning
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]     Checking refraction v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2015 edition to 2018
[INFO] [stderr]        Fixed src/lib.rs (6 fixes)
[INFO] [stderr]        Fixed src/ops.rs (1 fix)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.78s
[INFO] [stderr] crater-edition-check: refraction v0.1.2 (/opt/rustwide/workdir) updating edition from 2015 to 2018
[INFO] [stderr]     Checking refraction v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/lib.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![cfg_attr(feature = "cargo-clippy", allow(expl_impl_clone_on_copy, type_complexity))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `nightly`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:33:55
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn once_to_mut<'a, X, Y, F>(f_once: F) -> Box<FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn once_to_mut<'a, X, Y, F>(f_once: F) -> Box<dyn FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:40:63
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn once_to_mut_flatten<'a, X, Y, F>(f_once: F) -> Box<FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn once_to_mut_flatten<'a, X, Y, F>(f_once: F) -> Box<dyn FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |     phantom_ss: PhantomData<Fn(S) -> S>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     phantom_ss: PhantomData<dyn Fn(S) -> S>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:80:29
[INFO] [stdout]    |
[INFO] [stdout] 80 |     phantom_tt: PhantomData<Fn(T) -> T>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     phantom_tt: PhantomData<dyn Fn(T) -> T>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:227:29
[INFO] [stdout]     |
[INFO] [stdout] 227 |     phantom_ua: PhantomData<Fn(()) -> A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |     phantom_ua: PhantomData<dyn Fn(()) -> A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:228:29
[INFO] [stdout]     |
[INFO] [stdout] 228 |     phantom_bu: PhantomData<Fn(B) -> ()>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 228 |     phantom_bu: PhantomData<dyn Fn(B) -> ()>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:332:29
[INFO] [stdout]     |
[INFO] [stdout] 332 |     phantom_su: PhantomData<Fn(S) -> ()>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 332 |     phantom_su: PhantomData<dyn Fn(S) -> ()>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:333:29
[INFO] [stdout]     |
[INFO] [stdout] 333 |     phantom_us: PhantomData<Fn(()) -> S>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 333 |     phantom_us: PhantomData<dyn Fn(()) -> S>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/conv.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 |     phantom_sa: PhantomData<Fn(S) -> A>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     phantom_sa: PhantomData<dyn Fn(S) -> A>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/conv.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     phantom_bt: PhantomData<Fn(B) -> T>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     phantom_bt: PhantomData<dyn Fn(B) -> T>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 |     phantom_sa: PhantomData<Fn(&'a S) -> &'a A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     phantom_sa: PhantomData<dyn Fn(&'a S) -> &'a A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:198:29
[INFO] [stdout]     |
[INFO] [stdout] 198 |     phantom_bt: PhantomData<Fn(&'a B) -> &'a T>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 198 |     phantom_bt: PhantomData<dyn Fn(&'a B) -> &'a T>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 |     phantom_sa: PhantomData<Fn(&'a mut S) -> &'a mut A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 384 |     phantom_sa: PhantomData<dyn Fn(&'a mut S) -> &'a mut A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:385:29
[INFO] [stdout]     |
[INFO] [stdout] 385 |     phantom_bt: PhantomData<Fn(&'a mut B) -> &'a mut T>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 385 |     phantom_bt: PhantomData<dyn Fn(&'a mut B) -> &'a mut T>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/partial_lens.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Injector<'l, X, Y> = Box<FnMut(X) -> Option<Y> + 'l>;
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Injector<'l, X, Y> = Box<dyn FnMut(X) -> Option<Y> + 'l>;
[INFO] [stdout]   |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/partial_lens.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn try_get_inject(&self,
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 21 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/partial_lens.rs:53:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn try_get_inject(&self, v: S) -> Result<(S, Injector<T, T>), T> {
[INFO] [stdout]    |                       ^^^^^                      ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn try_get_inject(&self, v: S) -> Result<(S, Injector<'_, T, T>), T> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/partial_lens.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn try_get_inject(&self,
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 96 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 96 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/partial_lens.rs:154:23
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 157 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 157 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:107:29
[INFO] [stdout]     |
[INFO] [stdout] 107 |                     $crate::std::result::Result<Self::InitialTarget, Self::FinalSource>
[INFO] [stdout]     |                             ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::result;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:109:29
[INFO] [stdout]     |
[INFO] [stdout] 109 |                     $crate::std::result::Result::Ok(v$(.$field_name)*)
[INFO] [stdout]     |                             ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use crate::fmt::Result;
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::fmt::Result;
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::io::Result;
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::result::Result;
[INFO] [stdout]     |
[INFO] [stdout]     = and 3 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     $crate::std::result::Result<(Self::InitialTarget,
[INFO] [stdout]     |                             ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::result;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/terminal.rs:299:23
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn try_get_inject(&self, v: ()) -> Result<(A, Injector<B, ()>), ()> {
[INFO] [stdout]     |                       ^^^^^                       ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn try_get_inject(&self, v: ()) -> Result<(A, Injector<'_, B, ()>), ()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/terminal.rs:404:23
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn try_get_inject(&self, v: S) -> Result<((), Injector<(), S>), S> {
[INFO] [stdout]     |                       ^^^^^                       ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn try_get_inject(&self, v: S) -> Result<((), Injector<'_, (), S>), S> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conv.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 128 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 128 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conv.rs:312:23
[INFO] [stdout]     |
[INFO] [stdout] 312 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 315 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 315 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/conv.rs:499:23
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn try_get_inject(&self,
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 502 |                                  Injector<Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 502 |                                  Injector<'_, Self::FinalTarget, Self::FinalSource>),
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:118:37
[INFO] [stdout]     |
[INFO] [stdout] 118 |                     let x = $crate::std::mem::replace(&mut v$(.$field_name)*, unsafe {
[INFO] [stdout]     |                                     ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::mem;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:119:33
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         $crate::std::mem::uninitialized()
[INFO] [stdout]     |                                 ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::mem;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:122:29
[INFO] [stdout]     |
[INFO] [stdout] 122 |                     $crate::std::result::Result::Ok((
[INFO] [stdout]     |                             ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use crate::fmt::Result;
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::fmt::Result;
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::io::Result;
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::result::Result;
[INFO] [stdout]     |
[INFO] [stdout]     = and 3 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:126:37
[INFO] [stdout]     |
[INFO] [stdout] 126 |                             $crate::std::mem::forget($crate::std::mem::replace(
[INFO] [stdout]     |                                     ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::mem;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:126:62
[INFO] [stdout]     |
[INFO] [stdout] 126 |                             $crate::std::mem::forget($crate::std::mem::replace(
[INFO] [stdout]     |                                                              ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::mem;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:145:30
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     ($crate::std::option::Option<Self::InitialTarget>,
[INFO] [stdout]     |                              ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::option;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:148:29
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     $crate::std::mem::swap(&mut v$(.$field_name)*, &mut x);
[INFO] [stdout]     |                             ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::mem;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:149:30
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     ($crate::std::option::Option::Some(x), v)
[INFO] [stdout]     |                              ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::option::Option;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:160:49
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     (Self::FinalSource, $crate::std::option::Option<X>)
[INFO] [stdout]     |                                                 ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::option;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `std` in `$crate`
[INFO] [stdout]    --> src/ops.rs:165:33
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     (v, $crate::std::option::Option::Some(aux))
[INFO] [stdout]     |                                 ^^^ could not find `std` in the crate root
[INFO] [stdout] ...
[INFO] [stdout] 189 |         let l = field_lens!(TestOuter => test_field.0: String);
[INFO] [stdout]     |                 ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `field_lens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 182 +     use std::option::Option;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/lib.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![cfg_attr(feature = "cargo-clippy", allow(expl_impl_clone_on_copy, type_complexity))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `nightly`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:33:55
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn once_to_mut<'a, X, Y, F>(f_once: F) -> Box<FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn once_to_mut<'a, X, Y, F>(f_once: F) -> Box<dyn FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:40:63
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn once_to_mut_flatten<'a, X, Y, F>(f_once: F) -> Box<FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn once_to_mut_flatten<'a, X, Y, F>(f_once: F) -> Box<dyn FnMut(X) -> Option<Y> + 'a>
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |     phantom_ss: PhantomData<Fn(S) -> S>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     phantom_ss: PhantomData<dyn Fn(S) -> S>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:80:29
[INFO] [stdout]    |
[INFO] [stdout] 80 |     phantom_tt: PhantomData<Fn(T) -> T>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     phantom_tt: PhantomData<dyn Fn(T) -> T>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:227:29
[INFO] [stdout]     |
[INFO] [stdout] 227 |     phantom_ua: PhantomData<Fn(()) -> A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |     phantom_ua: PhantomData<dyn Fn(()) -> A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:228:29
[INFO] [stdout]     |
[INFO] [stdout] 228 |     phantom_bu: PhantomData<Fn(B) -> ()>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 228 |     phantom_bu: PhantomData<dyn Fn(B) -> ()>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:332:29
[INFO] [stdout]     |
[INFO] [stdout] 332 |     phantom_su: PhantomData<Fn(S) -> ()>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 332 |     phantom_su: PhantomData<dyn Fn(S) -> ()>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:333:29
[INFO] [stdout]     |
[INFO] [stdout] 333 |     phantom_us: PhantomData<Fn(()) -> S>,
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 333 |     phantom_us: PhantomData<dyn Fn(()) -> S>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/conv.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 |     phantom_sa: PhantomData<Fn(S) -> A>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     phantom_sa: PhantomData<dyn Fn(S) -> A>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/conv.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     phantom_bt: PhantomData<Fn(B) -> T>,
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     phantom_bt: PhantomData<dyn Fn(B) -> T>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 |     phantom_sa: PhantomData<Fn(&'a S) -> &'a A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     phantom_sa: PhantomData<dyn Fn(&'a S) -> &'a A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:198:29
[INFO] [stdout]     |
[INFO] [stdout] 198 |     phantom_bt: PhantomData<Fn(&'a B) -> &'a T>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 198 |     phantom_bt: PhantomData<dyn Fn(&'a B) -> &'a T>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 |     phantom_sa: PhantomData<Fn(&'a mut S) -> &'a mut A>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 384 |     phantom_sa: PhantomData<dyn Fn(&'a mut S) -> &'a mut A>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/conv.rs:385:29
[INFO] [stdout]     |
[INFO] [stdout] 385 |     phantom_bt: PhantomData<Fn(&'a mut B) -> &'a mut T>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 385 |     phantom_bt: PhantomData<dyn Fn(&'a mut B) -> &'a mut T>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/partial_lens.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Injector<'l, X, Y> = Box<FnMut(X) -> Option<Y> + 'l>;
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Injector<'l, X, Y> = Box<dyn FnMut(X) -> Option<Y> + 'l>;
[INFO] [stdout]   |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `refraction` (lib test) due to 13 previous errors; 16 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "96b526c3b15b72ed52cfa89be471bce014b5f9fc6cd2721da30050827e0aebb5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96b526c3b15b72ed52cfa89be471bce014b5f9fc6cd2721da30050827e0aebb5", kill_on_drop: false }`
[INFO] [stdout] 96b526c3b15b72ed52cfa89be471bce014b5f9fc6cd2721da30050827e0aebb5
